package com.regent.central.bill.service;

import com.regent.central.bill.core.ReturnGoods;
import com.regent.central.infrastructure.service.DomainService;

import java.util.List;

public interface ReturnGoodsService extends DomainService<ReturnGoods> {

    /**
     * 删除退货货品
     *
     * @param returnGoodsId 退货货品ID
     * @param userDeleted   删除人
     */
    void delete(String returnGoodsId, String userDeleted);

    /**
     * 根据退货动作ID删除退货货品
     *
     * @param returnActionId 退货动作ID
     * @param userDeleted    删除人
     */
    void deleteForSaleOrderReturnAction(String returnActionId, String userDeleted);

    /**
     * /**
     * 获取销售单的退货货品
     *
     * @param saleOrderId 销售单ID
     * @return 销售单的退货货品
     */
    List<ReturnGoods> getSaleOrderReturnGoods(String saleOrderId);

    /**
     * /**
     * 获取销售单的退货货品
     *
     * @param saleOrderId 销售单ID
     * @param canceled    已撤销
     * @param deleted     已删除
     * @return 销售单的退货货品
     */
    List<ReturnGoods> getSaleOrderReturnGoods(String saleOrderId, Boolean canceled, Boolean deleted);

}